#pragma once 

#include <stdio.h>

#define MAX 1024
#define NONE_FLUSH (1<<0)
#define LINE_FLUSH (1<<1)
#define FULL_FLUSH (1<<2)

typedef struct IO_FILE {
    int fileno; // 文件描述符
    int flag; // 文件打开方式
    char buffer[MAX]; // 缓冲区
    int bufferlen; // 缓冲区中有效数据个数
    int flush_method;
}MyFile;

MyFile* MyOpen(const char* path, const char* mode);
void MyClose(MyFile* file);
int MyFwrite(MyFile* file, void* str, int len);
void MyFFlush(MyFile* file);